package com.bjx.flow.mmx.domain.bo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.bjx.common.core.domain.group.Update;
import java.util.Date;

/**
 * @desc: 流程历史BO实体
 * @author: liushuai
 * @date: 2023/05/22
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(title = "FlowHistoryBO",description = "流程历史BO实体")
public class MmxFlowHistoryBO {
        /**
        * 历史ID
        */
        @NotNull(message = "历史ID不能为空",groups = Update.class)
        @Schema(title = "historyId",description = "历史ID")
        private  Long historyId; 
        /**
        * 实例ID
        */
        @NotNull(message = "实例ID不能为空")
        @Size(max = 64,message = "实例ID长度为1到64个字符")
        @Schema(title = "instanceId",description = "实例ID")
        private  String instanceId; 
        /**
        * 节点ID
        */
        @NotNull(message = "节点ID不能为空")
        @Size(max = 64,message = "节点ID长度为1到64个字符")
        @Schema(title = "nodeId",description = "节点ID")
        private  String nodeId; 
        /**
        * 节点名称
        */
        @NotNull(message = "节点名称不能为空")
        @Size(max = 64,message = "节点名称长度为1到64个字符")
        @Schema(title = "nodeName",description = "节点名称")
        private  String nodeName; 
        /**
        * 节点类型
        */
        @NotNull(message = "节点类型不能为空")
        @Size(max = 64,message = "节点类型长度为1到64个字符")
        @Schema(title = "nodeType",description = "节点类型")
        private  String nodeType; 
        /**
        * 审批类型
        */
        @NotNull(message = "审批类型不能为空")
        @Schema(title = "approveType",description = "审批类型")
        private  Integer approveType; 
        /**
        * 审批人
        */
        @NotNull(message = "审批人不能为空")
        @Size(max = 64,message = "审批人长度为1到64个字符")
        @Schema(title = "assignee",description = "审批人")
        private  String assignee; 
        /**
        * 审批意见
        */
        @NotNull(message = "审批意见不能为空")
        @Size(max = 512,message = "审批意见长度为1到512个字符")
        @Schema(title = "comment",description = "审批意见")
        private  String comment; 
        /**
        * 创建时间
        */
        @NotNull(message = "创建时间不能为空")
        @Schema(title = "createTime",description = "创建时间")
        private  Date createTime; 
}